package itheima;

import java.util.Random;
import java.util.Scanner;

/**
    需求：现在有一个系统对赌优惠（使用石头剪刀布游戏进行），用户可以输入三次（每次可以是石头、剪刀、布），
         计算机也随机三次，依次比对输赢，最终按照3局2胜输出谁输输赢。
 */
public class Test4 {
    public static void main(String[] args) {
        // 1、让用户输入3个数据（1石头、2剪刀、3布），使用数组装起来
        int[] userSelects = new int[3];
        Scanner sc = new Scanner(System.in);
        for (int i = 0; i < userSelects.length ; i++) {
            System.out.println("请您选择第" + (i + 1) +"次输入：");
            int data = sc.nextInt();
            userSelects[i] = data;
        }

        // 2、定义一个数组，代表计算机选择的
        Random r = new Random();
        int[] computerSelects = new int[3];
        for (int i = 0; i < computerSelects.length; i++) {
            int data = r.nextInt(3) + 1; // 1-3
            computerSelects[i] = data;
        }

        // 3、判断谁输谁赢，是否平局。 userSelects =     [1 , 2, 1]
        //                        computerSelects = [2 , 2, 3]
        int count = 0; // 用于记录用户赢的次数
        int count2 = 0; // 用于记录计算机赢的次数
        for (int i = 0; i < userSelects.length; i++) {
            // i = 0  1  2
            switch (userSelects[i]){
                case 1:
                    // 石头
                    switch (computerSelects[i]){
                        case 1:
                            // 石头
                            System.out.println("第" + (i+1) +"局：平局");
                            break;
                        case 2:
                            // 剪刀
                            System.out.println("第" + (i+1) +"局：用户赢了");
                            count ++;
                            break;
                        case 3:
                            // 布
                            System.out.println("第" + (i+1) +"局：计算机赢了");
                            count2++;
                            break;
                    }
                    break;
                case 2:
                    // 剪刀
                    switch (computerSelects[i]){
                        case 1:
                            // 石头
                            System.out.println("第" + (i+1) +"局：计算机赢了");
                            count2++;
                            break;
                        case 2:
                            // 剪刀
                            System.out.println("第" + (i+1) +"局：平局");
                            break;
                        case 3:
                            // 布
                            System.out.println("第" + (i+1) +"局：用户赢了");
                            count ++;
                            break;
                    }
                    break;
                case 3:
                    // 布
                    switch (computerSelects[i]){
                        case 1:
                            // 石头
                            System.out.println("第" + (i+1) +"局：用户赢了");
                            count++;
                            break;
                        case 2:
                            // 剪刀
                            System.out.println("第" + (i+1) +"局：计算机赢了");
                            count2++;
                            break;
                        case 3:
                            // 布
                            System.out.println("第" + (i+1) +"局：平局");
                            break;
                    }
                    break;
            }
        }
        if(count >= 2 || count==1 && count2 == 0){
            System.out.println("最终用户胜出！！");
        }else if(count2 >= 2 || count2==1 && count == 0){
            System.out.println("计算机赢了!!");
        }else{
            System.out.println("平局");
        }

        printArr(userSelects);
        printArr(computerSelects);
    }

    public static void printArr(int[] arr){
        for (int i = 0; i < arr.length; i++) {
            System.out.print(arr[i] +"\t");
        }
        System.out.println();
    }

}
